var spider = require('./spider');
var cheerio = require('cheerio');
var url_node = require('url');
var Iconv = require('iconv-lite');
// setting
var setting = {
    headers: {},
    start: {

        timeout: 15000
    },
    isFinish: function (_setting) {
        return false;

    },
     // 条件认证
     validate:function(data){
   
        if(data.isFinish == true){
            return true;
        }else{
            return false;
        }
    },
    errorHandel: function (err) {
        console.log('-------error catch---------');
        console.log(err);        

    },
    successHandel: function (_setting) {
        console.log('-------success ---------');

        spider.loopGetOne(_setting);
    },
    // 解析
    parse: {
        type: 'html',
        // charset: 'gb2312',
        handel: function (body, _setting, url) {

            // console.log(res);
            var urlObj = url_node.parse(url);
            var protocol = urlObj.protocol;
            var hostname = urlObj.hostname;

            var httpUrl = protocol + "//" + hostname;



            // var $ = cheerio.load(res);

            var data;
            switch (hostname) {
                case 'www.1kkk.com':
                    var res = body.toString('utf-8');
                    var $ = cheerio.load(res);
                    data = kkkHtml($, httpUrl);
                    break;
                case 'manhua.dmzj.com':
                    var res = body.toString('utf-8');
                    var $ = cheerio.load(res);
                    data = dmzjHtml($, httpUrl);
                    break;
                case 'comic.kukudm.com':
                    var res = Iconv.decode(body, 'gb2312').toString();
                    var $ = cheerio.load(res);
                    data = xinxinHtml($, httpUrl);
                    break;
                default:
                    console.log('没有匹配');
                    break;
            }

            data['domain'] = hostname;
            // console.log(data);

            return data;
            // return false;
        }
    },
    mongdb: {
        database: 'manhua',
        collection: 'manhua',
        type: 'update',
        query: {}
    }
    // ,lastId:"5a4f37a5a5ec260f08476e25"
};

spider.init_d(setting);


// 动漫之家网站爬取
function dmzjHtml($, host) {

    var item = $('.anim_intro .week_mend .anim-main_list table tr');
    // console.log('----------------html ----------------------');
    // console.log(item);
    // console.log('--------------------------------------');
    if (item.length == 0) {
        return false;
    }

    var chapter = [];

    var chaptersLis = $('.cartoon_online_border li');

    for(var i = 0; i<chaptersLis.length;i++){
        var _cur = chaptersLis.eq(i);

        chapter.push({
            href: host +_cur.find('a').attr('href').replace(/(^\s*)|(\s*$)/g, ""),
            chapter: _cur.find('a').attr('title').replace(/(^\s*)|(\s*$)/g, "")
        });
    }
    // var _sChapter = chapter.join(',');

    var data = {
        news: item.eq(8).find('td a').text().replace(/(^\s*)|(\s*$)/g, ""),
        news_href: host + item.eq(8).find('td a').attr('href'),
        isFinish: item.eq(4).find('td a').text().replace(/(^\s*)|(\s*$)/g, "") == '已完结' ? true : false,
        updateTime: item.eq(8).find('td .update2').text().replace(/(^\s*)|(\s*$)/g, ""),
        chapters:chapter
    };

    return data;

}

// 1kkk网站爬取
function kkkHtml($, host) {
    var item = $('.main .sy_k22 li');

    if (item.length == 0) {
        return false;
    }

    var chapter = [];
    
    
    var chaptersLis;
    if($('.sy_nr1.cplist_ullg').length>1){
        chaptersLis = $('.sy_nr1.cplist_ullg').eq(1).find('li');
    }else{
        chaptersLis = $('.sy_nr1.cplist_ullg li');
    }

    for(var i = 0; i<chaptersLis.length;i++){
        var _cur = chaptersLis.eq(i);

        chapter.push({
            href: host + _cur.find('.tg').attr('href').replace(/(^\s*)|(\s*$)/g, ""),
            chapter: _cur.text().replace(/(^\s*)|(\s*$)/g, "")
        });
    }
    // var _sChapter = chapter.join(',');
    var _news = item.eq(0).find('a').eq(0).text().replace(/(^\s*)|(\s*$)/g, "");
    var data = {
        news: _news,
        news_href: host + item.eq(0).find('a').eq(0).attr('href'),
        isFinish: item.eq(1).find('.z075').text().replace(/(^\s*)|(\s*$)/g, "") == '已完结' ? true : false,
        updateTime: _news?item.eq(6).find('.z075').text().replace(/(^\s*)|(\s*$)/g, ""):item.eq(5).find('.z075').text().replace(/(^\s*)|(\s*$)/g, ""),
        "chapters":chapter
    };
    // console.log(chapter);
    return data;
}


// 新新漫画
function xinxinHtml($, host) {
    var str = $('body').children('table').eq(4).children('tbody').children('tr').children('td').eq(1).find('table').eq(1).children('tbody').children('tr').eq(4).find('td').text().replace(/(^\s*)|(\s*$)/g, "");

    console.log(str);


    var arry = str.split('|');

    console.log(arry);

    var _auth = arry[0].split('：')[1];
    var time = arry[2].split('：')[1];
    var isFinish = arry[1].split('：')[1].replace(/(^\s*)|(\s*$)/g, "") == '连载' ? false : true;

    var chapter = [];

    var chaptersLis = $('#comiclistn dd');

    for(var i = 0; i<chaptersLis.length;i++){
        var _cur = chaptersLis.eq(i);

        chapter.push({
            href: host + _cur.find('a').eq(0).attr('href').replace(/(^\s*)|(\s*$)/g, ""),
            chapter: _cur.find('a').eq(0).text().replace(/(^\s*)|(\s*$)/g, "")
        });
    }
    // var _sChapter = chapter.join(',');

    var data = {
        news: $('#comiclistn dd').last().find('a').eq(0).text().replace(/(^\s*)|(\s*$)/g, ""),
        news_href: host + $('#comiclistn dd').last().find('a').eq(0).attr('href'),
        isFinish: isFinish,
        updateTime: time.replace(/(^\s*)|(\s*$)/g, ""),
        "chapters":chapter
    };

    return data;
}



